// require('babel-polyfill'); //es5
module.exports = {
  // publicPath: 'testProgram',
  outputDir: 'dist',
  assetsDir: 'assets',
  indexPath: 'html/index.html',
  // filenameHashing: false, //打包是否显示文件名中包含了 hash 以便更好的控制缓存 默认有hash 值
  integrity: true,
  // entry: {
  //   app: ['babel-polyfill', './src/main.js']
  // },
  configureWebpack: {
    resolve: {
      alias: { components: '@/components', utils: '@/utils', views: '@/views', assets: '@/assets', styles: '@/styles' },
    },
    module: {
      rules: [
        {
          test: /\.mjs$/,
          include: /node_modules/,
          type: "javascript/auto"
        },
      ]
    }
    // externals: {
    //   /**
    //    * externals 对象属性解析。
    //    *  基本格式：
    //    *     '包名' : '在项目中引入的名字'
    //    *
    //    */
    //   vue: 'Vue',
    //   'element-ui': 'ElementUI',
    //   xlsx: 'XLSX',
    // },
  },
  transpileDependencies: ['element-ui', 'echarts', 'highcharts', 'highcharts-3d', 'screenfull', 'oidc-client', 'vuex-oidc', 'vuex', 'js-base64', 'lamejs', 'js-audio-recorder'],

  chainWebpack: (config) => {
    // config
    //   .entry('app')
    //   .add('babel-polyfill')
    //   .end();
    // console.log(config,'config')
    // config.entry('main').add('babel-polyfill');
    // config.entry.app = ['babel-polyfill', './src/main.js'];

    ////打包优化-去掉console-log
    // config.optimization.minimizer('terser').tap((args) => {
    //   args[0].terserOptions.compress.drop_console = true;
    //   return args;
    // });
  },

  devServer: {
    port: process.env.VUE_APP_POST || '6999', // 设置端口号,前端页面端口
    proxy: {
      //代理
      '/api': {
        target: process.env.VUE_APP_PROXY_URL, //API服务器的地址
        ws: true, //代理websockets
        changeOrigin: true, // 是否跨域，虚拟的站点需要更管origin
        pathRewrite: {
          // '^/api'是一个正则表达式，表示要匹配请求的url中，全部'http://localhost:8081/api' 转接为 http://localhost:8081/
          '^/api': '',
        },
      },
    },
  },
};
